package com.yunkeji.dao.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yunkeji.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 用户基本信息对象 ykj_user
 *
 * @author 老张
 * @date 2024-05-27
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "ykj_app_user", autoResultMap = true)
@Accessors(chain = true)
@ToString
public class AppUser extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /** 自增主键 */
    @TableId(value = "id")
    private Long id;
    /** 爱洞ID */
    private Long platformId;
    /** 账号密码 */
    private String password;
    /** 性别(未知 2) */
    private Integer sex;
    /** 手机号 */
    private String phone;

    /** 实名认证 1是0否 */
    private Integer cardAuth;
    /** 真人认证 1是0否 */
    private Integer videoAuth;
    /** 视频价格 */
    private BigDecimal videoPrice;
    /** 语音价格 */
    private BigDecimal voicePrice;

    /** 状态(0正常 1 封号 2删除 其他参考字典) */
    private Integer status;
    /** 用户在线状态 0 离线 1 在线 4 通话中 */
    private Integer onlineStatus;
    /** 邀请人ID */
    private Long pid;
    /** 是否启用视频速配 */
    private Integer enableMatch;
    /** 等级 */
    private Integer level;
    /**
     * 账号类型
     *
     * @see com.yunkeji.common.enums.app.AccountTypeEnums
     */
    private Integer accountType;

    /** 账号删除日期 账户状态为永久删除这个记录才有效,有可能再次激活 */
    private Date accountDelDate;

    /** 最近接入时间 */
    private Long recentlyAccessTime;

    /** 是否勿扰 */
    private Integer disturbFlag;
    /** 封号截至日期，只有账号状态为封号才生效 */
    private Date limitDate;
    /** 排序 */
    private Integer sort;
    /** 平台branch */
    private Integer branch;
}
